//C语言复习1，初识
#include <stdio.h>

//简单C程序

// int main()
// {
//     printf("Hello bit\n");
//     printf("He He");

//     return 0;
// }

//不同数据类型有不同的大小，计算数据类型的大小可以使用sizeof操作符，以字节为单位显示大小

// int main()
// {
//     printf("%td\n", sizeof(unsigned));//4
//     printf("%td\n", sizeof(unsigned long));//4
//     printf("%td\n", sizeof(char));
//     printf("%td\n", sizeof(short));
//     printf("%td\n", sizeof(int));//4
//     printf("%td\n", sizeof(long));//4
//     printf("%td\n", sizeof(long long));//8
//     printf("%td\n", sizeof(float));
//     printf("%td\n", sizeof(double));
//     printf("%td\n", sizeof(long double));//16

//     return 0;
// }

//全局变量和局部变量同名时，优先使用局部变量
//有没有同名时使用全局变量的方法呢？
//C++中有域解析运算符，但并不是C语言；在C语言中想使用全局变量，可以使用一个函数

// int global = 2019;
// void print()
// {
//     printf("%d", global);
// }

// int main()
// {
//     int local = 2010;
//     int global = 2020;
//     printf("%d\n", global);
//     print();

//     return 0;
// }

//常量定义,4种常量

// #define A 9;
// enum gender//枚举常量
// {
//     MAIL,
//     FEMAIL,
//     secrect
// };

// int main()
// {
//     3.14;
//     1000;//字面常量
//     const int pi = 3.14;//const 修饰常量
//     //pi = 25.5;//无法修改
//     #define PI 3.14

//     return 0;
// }
//#define B 10

//int main()
// {
//     printf("%c\n", '\'');
//     printf("%s", "\"");

//     return 0;
// }

/*#include <string.h>
int main()
{
printf("%d\n", strlen("abcdef"));//6
// \32被解析成一个转义字符
printf("%d\n", strlen("c:\test\328\test.c"));//14
return 0;
}*/

//选择语句
// int main()
// {
//     int choice = 0;
//     printf("你会坚持早起吗？选择(0 or 1):");
//     scanf("%d", &choice);
//     if (1 == choice)
//         printf("你会有个好工作");
//     else
//         printf("回家种地去吧");

//     return 0;
// }

//循环语句

// int main()
// {
//     printf("加入比特, 买彩票\n");
//     int success = 0, line = 0;
//     printf("结果如何？(0: 未中; 1: 中)\n");
//     scanf("%d", &success);
//     if (1 == success)
//         printf("迎娶白富美\n");
//     else
//     {
//         printf("好好学习，去敲代码\n");
//         while (line < 2000)
//         {
//             line++;
//         }
//         printf("代码量%d行，成为大佬\n", line);
//         printf("迎娶白富美\n");
//     }

//     return 0;
// }

//static 修饰局部变量

// void test()
// {
//     int i = 0;
//     i++;
//     printf("%d ", i);
// }
// void test1()
// {
//     static int i = 0;
//     i++;
//     printf("%d\n", i); 
// }
// int main()
// {
//     for (int i = 0; i < 10; i++)
//     {
//         test();test1();
//     }

//     return 0;
// }

#define ADD(x, y) ((x)+(y))

int main()
{
    int a = ADD(2, 3);
    printf("%d", a);
    int b = 10 * ADD(5, 6);
    printf("%d", b);
    
    return 0;
}